Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR should fix #129.
The way I fixed this is a bit of a hack but I think it works just fine. I changed
VTIME
to 0 andVMIN
to 1, but that causes thet.in.Read(chunk)
call to block which in turn causes<-indoneq
to block ort.in.Close()
to block. So I put theRead()
call in a separate goroutine which communicates to the normal input loop with a channel. WhenFini()
is called, the channel is closed causinginputLoop()
to return instead of hanging.I also had to get rid of the
Close()
call ont.in
(because it would block whileRead()
blocks) which is less than ideal but I don't think it actually causes any problems becauset.in
is read-only and the program terminates right afterwards.Also tcell now closes immediately instead of waiting 1/10th of a second.
Let me know what you think/if I created more problems than I fixed.